package cn.teduymdj.jxc.service;


import cn.teduymdj.jxc.pojo.dto.DamageListAddNewDTO;
import cn.teduymdj.jxc.pojo.dto.DamageListGoodsAddNewDTO;
import cn.teduymdj.jxc.pojo.dto.SelectConditionDTO;
import cn.teduymdj.jxc.pojo.entity.DamageList;
import cn.teduymdj.jxc.pojo.entity.DamageListGoods;
import cn.teduymdj.jxc.pojo.vo.DamageListGoodsListItemVO;
import cn.teduymdj.jxc.pojo.vo.DamageListListItemVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 商品报损商品service接口
 */
@Transactional(rollbackFor = Exception.class)
public interface DamageListGoodsService {

    /**
     * 保存商品商品报损清单，商品商品报损列表，修改商品属性
     *
     * @param damageListAddNewDTO       商品商品报损单
     * @param damageListGoodsAddNewDTOS 商品商品报损列表
     */
    public void save(DamageListAddNewDTO damageListAddNewDTO, List<DamageListGoodsAddNewDTO> damageListGoodsAddNewDTOS);

    /**
     * 商品报损单查询
     *
     * @param sTime 开始时间
     * @param eTime 结束时间
     * @return
     */
    public List<DamageListListItemVO> getDamageList(SelectConditionDTO selectConditionDTO);

    /**
     * 根据商品报损单ID查询商品报损商品信息
     *
     * @param damageListId 商品报损单ID
     * @return
     */
    public List<DamageListGoodsListItemVO> getDamageListGoodsByDamageListId(Long damageListId);

    /**
     * 根据商品报损单ID查询商品报损单信息
     *
     * @param damageListId 商品报损单ID
     * @return
     */
    public DamageListListItemVO getDamageListById(Long damageListId);

}
